local class = reload("class")
local super = reload("spdlogL")

---@class spdlogC : spdlogL @日志服务
local this = class(super)

---构造函数
---@param name string @服务名称
---@param prefix string @日志前缀
function this:ctor(name, prefix)
    super.ctor(self, name)
    self._log = super.setting(self, prefix)
end

function this:launch()
    super.launch(self)
    self:syslog()
end

function this:syslog()
    ---默认第一个创建的日志为系统日志
    super.syslog(self, self._log)
end

---跟踪日志
function this:trace(...)
    super.trace(self, self._log, ...)
end

---调试日志
function this:debug(...)
    super.debug(self, self._log, ...)
end

---信息日志
function this:info(...)
    super.info(self, self._log, ...)
end

---警告日志
function this:warn(...)
    super.warn(self, self._log, ...)
end

---错误日志
function this:err(...)
    super.err(self, self._log, ...)
end

---严重错误日志
function this:critical(...)
    super.critical(self, self._log, ...)
end

return this
